#include <cstdlib>
#include "Servidor.h"
#include "Excepcion.h"

using namespace std;
using namespace TP;
using namespace TP::Comunicacion;

#define VALOR_RETORNO_DEFECTO 0

int main(int argc, char** argv) {
	if (argc == 3) {
		try {
			Servidor servidor(argv[1], argv[2]);
			servidor.Iniciar();

			cout << "Salir (q): ";
			string comando = "";

			while (std::getline(cin, comando, '\n')) {
				if ("q" == comando)
					break;
				else
					cout << endl << "Comando invalido..." << endl << endl <<
							"Salir (q): ";
				;
			}
			servidor.Finalizar();
		}
		catch (Excepcion& pEx) {
			cerr << pEx.what() << std::endl;
		}
	}
	else
		cout << "Argumentos invalidos.  Intente ./servidor puerto "
				"red_info_ruta cve_inforuta..." << endl;

	cout << "Chau!" << endl;

	return VALOR_RETORNO_DEFECTO;
}